|
|
|
|
|
|
|
Defining and naming the design pattern |
|
|
|
|
|
|
|
|
Describing how to apply the design pattern |
|
|
|
|
|
|
|
|
Describing the solution provided by the design pattern |
|
|
|
|
|
|
|
|
Listing the consequences of using the design pattern |
|
|
|
|
|
|
|
|
Using and reusing design patterns for subsystems, including analyzing and designing subsystem interfaces |
|
|
|
|
|
|
|
|
Brief case studies of real-world behaviors of applications |
|
|
|
|
|
|
|
|
Examples from the Samsona Bank Teller System are included to round out your learning experience. |
|
|
|
|
|
|
|
|
The Subsystem-Based Model of Application Development |
|
|
|
|
|
|
|
|
The easiest and fastest way to develop any application is to enter many lines of code in any form or module without regard to tiers, subsystems, or components. Although this approach provides timeliness, it typically doesn't provide quality, maintainability, or reusability. Over the past fifty years of software development, the industry has learned that modularity, encapsulation, abstraction, and reusability are some of the most important attributes of effective, high-quality, low-cost (in the long term) software. Grouping objects into subsystems and components goes a long way toward achieving such goals and is part of the underlying concepts in the latest version of Visual Basic. |
|
|
|
|
|
|
|
|
You can view a subsystem as a partition of the application. The current Business Extension to the Unified Modeling Language (UML) equates a subsystem to an object system. This partition can be loosely interpreted as tiers, although not all subsystems fit nicely into the typical three-tier model. |
|
|
|
|
|
|
|
|
The Object Structure of a Complete Subsystem |
|
|
|
|
|
|
|
|
By now, you have an idea that a subsystem is a subset of the objects in an application that perform some behavior, but what exactly does that mean? What are the requirements of such a subsystem or component? In other words, how do you determine and design the interactions among the objects in a subsystem to provide a given set of behaviors that clients of that subsystem expect? |
|
|
|
|
|
|
|
|
New Term: According to the Business Extension of the UML, an object system is a top-level subsystem in an object model. An object system contains organization units, classes (workers, work units, and entities), and relationships. |
|
|
|
|
|